import api from '../utils/api'

/**
 * 分页查询门店列表
 * @param {Object} params - 查询参数
 * @param {number} params.page - 页码
 * @param {number} params.size - 每页大小
 * @param {string} params.name - 门店名称（可选）
 * @param {number} params.status - 门店状态（可选）
 */
export const getStoreList = (params) => {
  return api.get('/admin/store/list', { params })
}

/**
 * 获取门店详情
 * @param {number} id - 门店ID
 */
export const getStoreById = (id) => {
  return api.get(`/admin/store/${id}`)
}

/**
 * 创建门店
 * @param {Object} data - 门店创建数据
 */
export const createStore = (data) => {
  return api.post('/admin/store/create', data)
}

/**
 * 更新门店信息
 * @param {Object} data - 门店更新数据
 */
export const updateStore = (data) => {
  return api.put('/admin/store/update', data)
}

/**
 * 删除门店
 * @param {number} id - 门店ID
 */
export const deleteStore = (id) => {
  return api.delete(`/admin/store/${id}`)
}

/**
 * 更新门店状态
 * @param {number} id - 门店ID
 * @param {number} status - 新状态
 */
export const updateStoreStatus = (id, status) => {
  return api.patch(`/admin/store/${id}/status`, null, {
    params: { status }
  })
}

/**
 * 获取营业中的门店列表
 */
export const getActiveStores = () => {
  return api.get('/admin/store/active')
}

/**
 * 获取门店统计信息
 */
export const getStoreStatistics = () => {
  return api.get('/admin/store/statistics')
}

/**
 * 检查门店编码是否存在
 * @param {string} code - 门店编码
 * @param {number} excludeId - 排除的门店ID（可选）
 */
export const checkCodeExists = (code, excludeId = null) => {
  const params = { code }
  if (excludeId) {
    params.excludeId = excludeId
  }
  return api.get('/admin/store/check-code', { params })
} 